package apostas;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import bancodedados.ConectaBanco;

public class ApostadorDAO extends Apostador {
		
	public ArrayList<Apostador> addApostadorGrupo(){
		ConectaBanco conectaBanco = new ConectaBanco("jdbc:mysql://localhost/sga", "root", "1234");
		ArrayList<String>lista=new ArrayList<String>();
		lista=conectaBanco.getNomeColuna("nome");
		for(int i=0;i<lista.size();i++){
    		GrupoApostadores.addApostador(new Apostador(lista.get(i)));
    	}
		return GrupoApostadores.getListaApostadores();
		
	}
	
	public void inserirAposta(Aposta aposta){
		try{
			Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/sga", "root", "1234");
			String comando="Insert into apostas (time_1, time_2, gols_time_1, gols_time_2, id_usuario) VALUES(?,?,?,?,?)";
			
			try{
				PreparedStatement stmt = conn.prepareStatement(comando);      
				  
                stmt.setString(1, aposta.getTime1().getNome());      
                stmt.setString(2, aposta.getTime2().getNome());      
                stmt.setInt(3, aposta.getGolsTime1());
                stmt.setInt(4, aposta.getGolsTime2());
                stmt.setInt(5, this.getIdApostador(aposta.getApostador().getNome()));

                stmt.execute(); //executa comando     
                stmt.close();  
                conn.close();
			}
			catch(SQLException exception){
				System.out.println(exception.getMessage());
				throw new RuntimeException(exception);
			}
		}
		catch(Exception exc){
			System.out.println(exc.getMessage());
		}
			
			
			
	}
	
	public String getNomeBanco(String login){
		
		try{			
    		Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/sga", "root", "1234");
    		Statement st= conn.createStatement();
    		String comando="Select * from usuarios where login='"+login+"'";
    		ResultSet rs=st.executeQuery(comando);
    		if (rs.next()){
    			String nome=rs.getString("nome");
    			return nome;
    		}
    		else return null;
    		
    	}
    	catch (Exception e){
    			System.out.print("Erro");
    		}
		return null;
    	
    	}
	
	public int getIdApostador(String nomeApostador){
		Connection conn;
		try {
			conn = DriverManager.getConnection("jdbc:mysql://localhost/sga", "root", "1234");
			Statement st= conn.createStatement();
			String comando="Select * from usuarios where nome='"+nomeApostador+"'";
    		ResultSet rs=st.executeQuery(comando);
    		if (rs.next()){
    			int id=rs.getInt("idusuarios");
    			return id;
    		}
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return -1;
		}
		
		return -1;
		
	}
    
	
}
